{{tag>maverick Kinect}}
----

======  Ubuntu 10.10 + Kinect + OpenNI (Sensor + APIs) ======

<note important>La Kinect de Microsoft est prévue pour fonctionner sur les consoles Xbox 360 et 360S. Son usage sur une autre plateforme, risque d'endommager votre matériel et votre système !</note>



===== Pré-requis =====

  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * Avoir [[:tutoriel:comment_installer_un_paquet|installé les paquets]] suivant **[[apt://build-essential,git-core,libglut3-dev,doxygen,graphviz|build-essential git-core libglut3-dev doxygen graphviz g++ libusb-1.0-0-dev libglu1-mesa-dev libglut3-dev]]**.

===== Installation du FrameWork OpenNI =====

<note tip>Le Framework OpenNI (les API) et les pilotes **(Sensor)** sont en licence GNU GPL</note>

  * Creation de l'environnement de travail (par défaut, dans /home/$USER/)

<code>mkdir ~/kinect && cd ~/kinect</code>

  * Récupération des fichiers avec git

<code>git clone https://github.com/OpenNI/OpenNI.git</code>

  * Compilation et installation
<note tip>
Les paramètres de compilation sont en SSE3, par défaut. Si votre architecture (CPU) n'est pas récente (<2004), faites :
<code>cat /proc/cpuinfo</code>
Si, dans les flags vous voyez **sse3** ou **msse3**, vous n'avez pas a changer les paramètres de compilation. En revanche si vous ne voyez que **sse2**, vous pourrez compiler avec les paramètres SSE2 pour utiliser les API et le sensor. En revanche, pour l'usage de NITE, la compilation SSE3 est indispensable (fonctions SIMD), voir [[http://wiki.openni.org/mediawiki/index.php/Main_Page|wiki]] et plus bas</note>
<code>cd OpenNI/Platform/Linux-x86/Build</code>
<code>make && sudo make install</code>


===== Installation du Sensor OpenNI =====

<code>cd ~/kinect/</code>

     * Récupération des fichiers evec git
<code>git clone https://github.com/boilerbots/Sensor.git</code>
<code>cd Sensor</code>

     * Mise à jour de l'index git
<code>git checkout kinect</code>
<code>cd Platform/Linux-x86/Build</code>

     * Compilation et installation
<code>make && sudo make install</code>
<note tip>Les paramètres de compilation restent inchangés : le fichier **CommonMakefile** est remonté dans /usr/include/ni/</note>

===== Brancher la Kinect =====

<note tip>Le branchement sur le PC, se fait comme sur les 360 : **USB + Alimentation** (A la différence du branchement sur la 360S; en **USB** uniquement)</note>

===== Utilisation =====

<code>cd ~/kinect/OpenNI/Platform/Linux-x86/Bin/Release/</code>

<code>sudo ./NiViewer</code>

Pour l'usage clavier voir le wiki [[http://wiki.openni.org/mediawiki/index.php/Main_Page|ici]]

==== Compiler en SSE2 ====

<note important>Uniquement si votre CPU n'est pas compatible SSE3</note>

lire le README :
<code>gedit ~/kinect/OpenNI/README</code>

  * Pour compiler en utilisant le SSE2 :
<code>sudo gedit ~/kinect/OpenNI/Platform/Linux-x86/Build/CommonMakefile</code>
     * Changer **SSE_GENERATION = 3** par 	**SSE_GENERATION = 2**

 ===== Sources =====

  * Ce [[http://upinstall.passion-xbmc.org/tutoriels-linux/installation-kinect-openni-nite/|tutoriel]] sur le forum **Passion XBMC**
  * Ce [[http://www.keyboardmods.com/2010/12/howto-kinect-openninite-skeleton.html|tutoriel]] **(En anglais)**, sur **Keyboardmods**
  * Ce [[http://www.felix-huelsmann.de/Blog/MSKinectmitopenNIunterUbuntuLinux.php|complément]] **(En allemand)**
  * Les **informations** et la **documentation** trouvées sur le site de l'éditeur, [[http://www.openni.org/|OpenNI]].
  * Le [[http://wiki.openni.org/mediawiki/index.php/Main_Page|wiki]] OpenNI : 

===== Suite =====
La suite de ce tutoriel se trouve sur la page de doc [[:kinect_openni_nite|openni nite]] et explique comment activer le **HandTracking** et **SkeletonTracking** (reconnaissance des mains et du corps) avec NITE.